/*
 *  TextLayer class: Java image creator class
 *  ---------------------------------------
 *
 * Copyright (c) 2009, Martin Albrecht <martin.albrecht@javacoffee.de>
 * All rights reserved.
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 *
 *  - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
 *  - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer
 *     in the documentation and/or other materials provided with the distribution.
 *  - Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.

 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
 * SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

package com.imagecreator;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;

/**
 *
 * @author mbr
 */
public class TextLayer extends Layer{
	
	private Graphics2D Graphics;	
	private String Message = "";
	
	private int Width = 0;
	private int Height = 0;
	
    private Color FontColor = null;
    private Font FontFamily = null;
    private int FontSize = 0;            
    
    TextLayer(int w, int h, String Text, int tX, int tY, Color txColor, String font, int Size) {
    	super(tX, tY);
        Message = Text;                       
        
        if(h>0) Height = h; else Height = 100;
        if(w>0) Width = w; else Width = 100;
        
        if(Size > 0 && Size < Height) FontSize = Size; else FontSize = Height;
        
        FontFamily = new Font(font, Font.PLAIN, FontSize);       
        FontColor = txColor;               
        
        super.SetImage(new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB));
        Graphics = super.GetImage().createGraphics();
        RenderTextLayer();
    }
    
    private void RenderTextLayer() {
    	Graphics.setColor(FontColor);
    	Graphics.setFont(FontFamily);
    	Graphics.drawString(Message, super.GetX(), super.GetY());
    	Graphics.dispose();    	
    }       
}